<summary>Describes a mapping of one game action to one device semantic. An array of Diaction structures is contained by a Diactionformat structure.</summary>
<summary>Handle of the module containing string resources for action names, as specified in the uResIdString member of the Diaction structure for each action. Can be zero if action names are specified in the lptszActionName member of the Diaction structure for each action.</summary>
<summary>When the structure is returned by Inputdevice9Buildactionmap, this member receives a value to indicate the mapping mechanism used by Microsoft® DirectInput® to configure the action. This memeber is ignored when the action map is passed to Inputdevice9Setactionmap. The following values are defined.</summary>
<summary>For a joystick, a predefined action mapping constant for this application genre representing a virtual control or a constant for a control not defined in the genre. For a keyboard, mouse, or Microsoft® DirectPlay® voice device, a constant that represents a particular device object. See ActionMappingConstants.</summary>
<summary>Contains information about the calling application and acts as a container for an array of Diaction structures that define action-to-control mappings for a genre.</summary>
<summary>Maximum value for the range of scaled data to be returned for all axes. This value is ignored for a specific action axis if the DIA_NORANGE flag is set in Diaction.dwFlags. This value is valid only for axis actions and should be set to zero for all other actions. It is used as the Diproprange.lMax value to set the range property on an absolute axis when the action map is applied using Inputdevice9Setactionmap.</summary>
<summary>Minimum value for the range of scaled data to be returned for all axes. This value is ignored for a specific action axis if the DIA_NORANGE flag is set in Diaction.dwFlags. This value is valid only for axis actions and should be set to zero for all other actions. It is used as the Diproprange.lMin value to set the range property on an absolute axis when the action map is applied using Inputdevice9Setactionmap.</summary>
<summary>Retrieves or sets a value that specifies the number of input data packets in the buffer for each device to which this action-to-control mapping is to be applied.</summary>
<summary>Handle of the module containing string resources for action names, as specified in the uResIdString member of the Diaction structure for each action. Can be zero if action names are specified in the lptszActionName member of the Diaction structure for each action.</summary>
<summary>Contains buffered device information. This structure is used with the Inputdevice9Getdevicedata and the Inputdevice9Senddevicedata methods.</summary>
<summary>Application-defined action value assigned to this object in the last call to Inputdevice9Setactionmap. This is the value in the uAppData member of the Diaction structure associated with the object. Ignore this value if you are not using action mapping. When the structure is used with the Inputdevice9Senddevicedata method, this member must be zero.</summary>
<summary>Data obtained from or sent to the device. For axis input, if the device is in relative axis mode, the relative axis motion is reported. If the device is in absolute axis mode, the absolute axis coordinate is reported.For button input, only the low byte of DwData is significant. The high bit of the low byte is set if the button was pressed; it is clear if the button was released.</summary>
<summary>Microsoft® DirectInput® sequence number for this event. All input events are assigned an increasing sequence number. This enables events from different devices to be sorted chronologically.</summary>
<summary>System time at which the input event was generated, in milliseconds. This value wraps around approximately every 50 days. See Remarks. When the structure is used with the Inputdevice9Senddevicedata method, this member must be 0.</summary>
<summary>Applications use the methods of the Device object to gain and release access to Microsoft® DirectInput® devices, manage device properties and information, set behavior, perform initialization, create and play force-feedback effects, and invoke a device's control panel.</summary>
<summary>Enumerates all the effects supported by the force-feedback system on the device. The enumerated GUIDs can represent predefined effects, as well as effects peculiar to the device manufacturer.</summary>
<summary>Enumerates all the effects supported by the force-feedback system on the device. The enumerated GUIDs can represent predefined effects, as well as effects peculiar to the device manufacturer.</summary>
<summary>Retrieves data from polled objects on a Microsoft® DirectInput® device. If the device does not require polling, calling this method has no effect. If a device that requires polling is not polled periodically, no new data is received from the device. Calling this method causes Microsoft® DirectInput® to update the device state, generate input events (if buffered data is enabled), and set notification events (if notification is enabled).</summary>
<summary>Runs the Microsoft® DirectInput® control panel associated with this device. If the device does not have a control panel associated with it, the default device control panel is launched.</summary>
<summary>Runs the Microsoft® DirectInput® control panel associated with this device. If the device does not have a control panel associated with it, the default device control panel is launched.</summary>
<summary>Sets the data format for a device and maps application-defined actions to device objects. It also sets the buffer size for buffered data.</summary>
<summary>Sets the data format for a device and maps application-defined actions to device objects. It also sets the buffer size for buffered data.</summary>
<summary>Establishes the cooperative level for this instance of the device. The cooperative level determines how this instance of the device interacts with other instances of the device and the rest of the system.</summary>
<summary>Saves information about one or more force-feedback effects to a file that can be read by using Inputdevice9Enumeffectsinfile. This method is chiefly of interest to those wanting to write their own force-authoring applications.</summary>
<summary>Saves information about one or more force-feedback effects to a file that can be read by using Inputdevice9Enumeffectsinfile. This method is chiefly of interest to those wanting to write their own force-authoring applications.</summary>
<summary>Saves information about one or more force-feedback effects to a file that can be read by using Inputdevice9Enumeffectsinfile. This method is chiefly of interest to those wanting to write their own force-authoring applications.</summary>
<summary>Saves information about one or more force-feedback effects to a file that can be read by using Inputdevice9Enumeffectsinfile. This method is chiefly of interest to those wanting to write their own force-authoring applications.</summary>
<summary>Retrieves a value for the dead zone of a joystick, in the range from 0 through 10,000, where 0 indicates that there is no dead zone, 5,000 indicates that the dead zone extends over 50 percent of the physical range of the axis on both sides of center, and 10,000 indicates that the entire physical range of the axis is dead. When the axis is within the dead zone, it is reported as being at the center of its range.</summary>
<summary>Retrieves the input granularity. Granularity represents the smallest distance over which the object reports movement. Most axis objects have a granularity of one; that is, all values are possible. Some axes have a larger granularity. For example, the wheel axis on a mouse can have a granularity of 20; that is, all reported changes in position are multiples of 20. In other words, when the user turns the wheel slowly, the device reports a position of 0, then 20, then 40, and so on. This is a read-only property.</summary>
<summary>Retrieves the range of data for axes as suggested by the manufacturer of a HID. Values can be negative. Normally DirectInput returns values from 0 through 0×FFFF, but the range can be made to conform to the manufacturer's suggested range by using the Range property.</summary>
<summary>Retrieves a value for the saturation zones of a joystick, in the range from 0 through 10,000. The saturation level is the point at which the axis is considered to be at its most extreme position. For example, if the saturation level is set to 9,500, the axis reaches the extreme of its range when it has moved 95 percent of the physical distance from its center position (or from the dead zone).</summary>
<summary>Sets the value for the dead zone of a joystick, in the range from 0 through 10,000, where 0 indicates that there is no dead zone, 5,000 indicates that the dead zone extends over 50 percent of the physical range of the axis on both sides of center, and 10,000 indicates that the entire physical range of the axis is dead. When the axis is within the dead zone, it is reported as being at the center of its range. This setting can be applied to either the entire device or to a specific axis.</summary>
<summary>Sets the value for the saturation zones of a joystick, in the range from 0 through 10,000. The saturation level is the point at which the axis is considered to be at its most extreme position. For example, if the saturation level is set to 9,500, the axis reaches the extreme of its range when it has moved 95 percent of the physical distance from its center position (or from the dead zone). This setting can be applied to either the entire device or a specific axis.</summary>
<summary>Specifies whether device objects are self centering. This setting applies to the entire device, rather than to any particular object.</summary>
<summary>Predefined property that retrieves the type name of a device. For most game controllers, this is the registry key name under REGSTR_PATH_JOYOEM from which static device settings can be retrieved, but predefined joystick types have special names consisting of a number sign (#) followed by a character dependent on the type. This value might not be available for all devices.</summary>
<summary>Places the effect on the device. If the effect is already on the device, the existing effect is updated to match the values set by the method.</summary>
<summary>Begins playing an effect. If the effect is already playing, it is restarted from the beginning. If the effect has not been downloaded or has been modified since its last download, it is downloaded before being started. This default behavior can be suppressed by passing the DIES_NODOWNLOAD flag.</summary>
<summary>Begins playing an effect. If the effect is already playing, it is restarted from the beginning. If the effect has not been downloaded or has been modified since its last download, it is downloaded before being started. This default behavior can be suppressed by passing the DIES_NODOWNLOAD flag.</summary>
<summary>The parameters were updated in memory but were not downloaded to the device because the device does not support updating an effect while it is still playing.</summary>
<summary>The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been supplied.</summary>
<summary>Applications use the methods of the Manager object to enumerate, create, and retrieve the status of MicrosoftMicrosoft DirectInputDirectInput devices.</summary>
<summary>An error has occurred either reading the vendor-supplied action-mapping file for the device or reading or writing the user configuration mapping file for the device.</summary>
<summary>The following constants are used in the dwSemantic member of the Diaction structure to map an action to any matching control on the device.</summary>
<summary>The cooperative level determines how this instance of the device interacts with other instances of the device and the rest of the system.</summary>
<summary>Contains buffered device information. This structure is used with the Inputdevice9Getdevicedata and the Inputdevice9Senddevicedata methods.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_CONDITION.A reference to an array of Dicondition structures for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure. The number of elements in the array must be either one, or equal to the number of axes associated with the effect.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_PERIODIC.The structure describes a periodic effect.A reference to a single Diperiodic structure for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure.</summary>
<summary>Two additional axis values (formerly called the u-axis and v-axis) whose semantics depend on the joystick. Use the Inputdevice9Getobjectinfo method to obtain semantic information about these values.</summary>
<summary>Two additional axis values (formerly called the u-axis and v-axis) whose semantics depend on the joystick. Use the Inputdevice9Getobjectinfo method to obtain semantic information about these values.</summary>
<summary>The following constants are used in the dwSemantic member of the Diaction structure to map an action to a physical axis or button on a mouse.</summary>
<summary>Mouse device constants, defined in Dinput.h, represent offsets within a mouse device's data packet, the Dimousestate or Dimousestate2 structure.</summary>
<summary>The magnitude of the maximum force that can be created by the actuator associated with this object. Force is expressed in newtons and measured in relation to where the hand would be during normal operation of the device.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_CONDITION.A reference to an array of Dicondition structures for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure. The number of elements in the array must be either one, or equal to the number of axes associated with the effect.</summary>
<summary>Region around LOffset in which the condition is not active, in the range from 0 through 10,000. In other words, the condition is not active between LOffset minus LDeadBand and LOffset plus LDeadBand.</summary>
<summary>Coefficient constant on the negative side of the offset, in the range from -10,000 through 10,000. If the device does not support separate positive and negative coefficients, the value of LNegative</summary>
<summary>Maximum force output on the negative side of the offset, in the range from 0 through 10,000.If the device does not support force saturation, the value of this member is ignored.If the device does not support separate positive and negative saturation, the value of DwNegativeSaturation is ignored, and the value of DwPositiveSaturation is used as both the positive and negative saturation.</summary>
<summary>Maximum force output on the positive side of the offset, in the range from 0 through 10,000.If the device does not support force TermSaturation, the value of this member is ignored.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_CONSTANTFORCE.The structure describes a constant force effect.A reference to a single Diconstantforce structure for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure.</summary>
<summary>The magnitude of the effect, in the range from -10,000 through 10,000. If an TermEnvelope is applied to this effect, the value represents the magnitude of the TermSustain. If no envelope is applied, the value represents the amplitude of the entire effect.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_CUSTOMFORCE.The structure describes a custom or user-defined force.A reference to a Dicustomforce structure for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure.</summary>
<summary>Number of channels (axes) affected by this force. The first channel is applied to the first axis associated with the effect, the second to the second, and so on. If there are fewer channels than axes, nothing is associated with the extra axes.If there is only a single channel, the effect is rotated in the direction specified by the rglDirection member of the Dieffect structure. If there is more than one channel, rotation is not allowed.Not all devices support rotation of custom effects.</summary>
<summary>Size of a data packet returned by the device, in bytes. This value must be a multiple of 4 and must exceed the largest offset value for an object's data within the data packet.</summary>
<summary>Minimum time, in microseconds, that the device can resolve. The device rounds any times to the nearest supported increment. For example, if the value of DwFFMinTimeResolution is 1000, the device would round any times to the nearest millisecond.</summary>
<summary>Carries information required to display a device image or an overlay image with a callout. This structure is passed to the Inputdevice9Getimageinfo method as an array within a Dideviceimageinfoheader structure.</summary>
<summary>Array of POINT structures that specify coordinates of the points describing a callout line. A callout line connects a device control to a caption for the game action. Each line can have from one to four segments. This member is valid only if the DIDIFT_OVERLAY flag is present in DwFlags.</summary>
<summary>RECT structure that describes the rectangle in which the game action string is displayed. If the string cannot fit within the rectangle, the application is responsible for handling clipping. This member is valid only if the DIDIFT_OVERLAY flag is present in DwFlags.</summary>
<summary>Rectangle, using coordinates relative to the top-left pixel of the device configuration image, in which the overlay image should be painted. This member is valid only if the DIDIFT_OVERLAY flag is present in DwFlags.</summary>
<summary>Fully qualified path to the file that contains an image of the device. The file format is given in DwFlags. If no image is available for the device, this member will be set to NULL. If so, the application is responsible for enumerating controls on the device and displaying a default listing of actions to device controls (similar to the method used by most applications before Microsoft® DirectX® 8.0).</summary>
<summary>Control identifier, as a combination of DIDFT_* flags and an instance value, to which an overlay image corresponds for this device. Applications use the DIDFT_GETINSTANCE and DIDFT_GETTYPE macros to decode this value to its constituent parts. This member is valid only if the DIDIFT_OVERLAY flag is present in DwFlags.</summary>
<summary>DWORD value that specifies the alignment of the text in the rectangle described by the RcCalloutRect member. Must be one horizontal alignment flag combined with one vertical alignment flag. This member is valid only if the DIDIFT_OVERLAY flag is present in DwFlags.</summary>
<summary>Pointer to a buffer that receives an array of Dideviceimageinfo structures describing all the device images and views, overlay images, and callout-string coordinates.</summary>
<summary>Describes an instance of a Microsoft® DirectInput® device. This structure is used with the Input9Enumdevices, Input9Enumdevicesbysemantics, and Inputdevice9Getdeviceinfo methods.</summary>
<summary>Device type specifier. The least-significant byte of the device type description code specifies the device type. The next-significant byte specifies the device subtype. This value can also be combined with DIDEVTYPE_HID, which specifies a Human Interface Device (TermHid).</summary>
<summary>Device type specifier. The least-significant byte of the device type description code specifies the device type. The next-significant byte specifies the device subtype. This value can also be combined with DIDEVTYPE_HID, which specifies a Human Interface Device (TermHid).</summary>
<summary>Unique identifier for the instance of the device. An application can save the instance GUID into a configuration file and use it at a later time. Instance GUIDs are specific to a particular computer. An instance GUID obtained from one computer is unrelated to instance GUIDs on another.</summary>
<summary>Describes a device object instance. This structure is used with the Inputdevice9Enumobjects method to provide the Dienumdeviceobjectscallback callback function with information about a particular object associated with a device, such as an axis or button. It is also used with the Inputdevice9Getobjectinfo method to retrieve information about a device object.</summary>
<summary>An index that refers to a designator in the HID physical descriptor. This number can be passed to functions in the HID parsing library (Hidpi.h) to obtain additional information about the device object.</summary>
<summary>The exponent to associate with the dimension, if known. Dimensional units are always integral, so an exponent might be needed to convert them to nonintegral types.</summary>
<summary>The force resolution of the actuator associated with this object. The returned value represents the number of gradations, or subdivisions, of the maximum force that can be expressed by the force-feedback system from 0 (no force) to maximum force.</summary>
<summary>The magnitude of the maximum force that can be created by the actuator associated with this object. Force is expressed in newtons and measured in relation to where the hand would be during normal operation of the device.</summary>
<summary>An index that refers to a designator in the HID physical descriptor. This number can be passed to functions in the HID parsing library (Hidpi.h) to obtain additional information about the device object.</summary>
<summary>Offset in the native data format of the device. The native data format corresponds to the raw device data. The DwOfs member does not correspond to the device constant, such as DIJOFS_BUTTON0, for this object.</summary>
<summary>The HID usage associated with the object, if known. HIDs always report a usage. Non-HIDs can optionally report a usage; if they do not, the value of this member is 0.</summary>
<summary>The Human Interface Device (HID) usage page associated with the object, if known. HIDs always report a usage page. Non-HID devices can optionally report a usage page; if they do not, the value of this member is 0.</summary>
<summary>Used by the Inputdevice9Createeffect method to initialize a new Inputeffect object. It is also used by the InputeffectSetparameters and InputeffectGetparameters methods.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_PERIODIC.The structure describes a periodic effect.A reference to a single Diperiodic structure for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure.</summary>
<summary>The total duration of the effect, in microseconds. If this value is INFINITE, the effect has infinite duration. If an TermEnvelope has been applied to the effect, the TermAttack is applied, followed by an infinite TermSustain.</summary>
<summary>The gain to be applied to the effect, in the range from 0 through 10,000. The gain is a scaling factor applied to all magnitudes of the effect and its envelope.</summary>
<summary>The period at which the device should play back the effect, in microseconds. A value of 0 indicates that the default playback sample rate should be used. If the device is not capable of playing back the effect at the specified rate, it chooses the supported rate that is closest to the requested value.Setting a custom DwSamplePeriod can be used for special effects. For example, playing a sine wave at an artificially large sample period results in a rougher texture.</summary>
<summary>Time (in microseconds) that the device should wait after a InputeffectStart call before playing the effect. If this value is 0, effect playback begins immediately. This member is not present in versions prior to Microsoft® DirectX® 7.0.</summary>
<summary>The identifier or offset of the button to be used to trigger playback of the effect. The flags DIEFF_OBJECTIDS and DIEFF_OBJECTOFFSETS determine the semantics of the value. If this member is set to DIEB_NOTRIGGER, no trigger button is associated with the effect.</summary>
<summary>The interval, in microseconds, between the end of one playback and the start of the next when the effect is triggered by a button press and the button is held down. Setting this value to INFINITE suppresses repetition. Support for trigger repeat for an effect is indicated by the presence of the DIEP_TRIGGERREPEATINTERVAL flag in the dwStaticParams member of the Dieffectinfo structure.</summary>
<summary>Used by the Dieffect structure to specify the optional TermEnvelope parameters for an effect. The TermSustain level for the envelope is represented by the dwMagnitude member of the Diperiodic structure and the lMagnitude member of the Diconstantforce structure. The sustain time is represented by dwDuration member of the Dieffect structure.</summary>
<summary>Used by the Inputdevice9Enumeffects and Inputdevice9Geteffectinfo methods to return information about a particular effect supported by a device.</summary>
<summary>Zero or more DIEP_* values denoting parameters of the effect that can be modified while the effect is playing. For a list of possible values, see InputeffectGetparameters. If an application attempts to change a parameter while the effect is playing and the driver does not support modifying that effect dynamically, the driver is permitted to stop the effect, update the parameters, then restart it. For more information, see InputeffectSetparameters.</summary>
<summary>Zero or more DIEP_* values describing the parameters supported by the effect. For example, if DIEP_ENVELOPE is set, the effect supports an envelope. For a list of possible values, see InputeffectGetparameters. It is not an error for an application to attempt to use effect parameters that are not supported by the device. The unsupported parameters are ignored.This information is provided to enable the application to tailor its use of force feedback to the capabilities of the specific device.</summary>
<summary>Used by the Dieffect structure to specify the optional TermEnvelope parameters for an effect. The TermSustain level for the envelope is represented by the dwMagnitude member of the Diperiodic structure and the lMagnitude member of the Diconstantforce structure. The sustain time is represented by dwDuration member of the Dieffect structure.</summary>
<summary>Amplitude for the start of the envelope, relative to the baseline, in the range from 0 through 10,000. If the effect's type-specific data does not specify a baseline, the amplitude is relative to 0.</summary>
<summary>Amplitude for the end of the envelope, relative to the baseline, in the range from 0 through 10,000. If the effect's type-specific data does not specify a baseline, the amplitude is relative to 0.</summary>
<summary>Describes data for a force-feedback effect stored in a file. It is used in conjunction with the Inputdevice9Enumeffectsinfile and Inputdevice9Writeeffecttofile methods.</summary>
<summary>Unique identifier of the effect type. This can be one of the standard GUIDs defined in Dinput.h, such as GUID_ConstantForce, or one created by the designer.</summary>
<summary>Array of buttons. The high-order bit of the byte is set if the corresponding button is down, and clear if the button is up or does not exist.</summary>
<summary>Direction controllers, such as point-of-view hats. The position is indicated in hundredths of a degree clockwise from north (away from the user). The center position is normally reported as -1; but see Remarks. For indicators that have only five positions, the value for a controller is -1, 0, 9,000, 18,000, or 27,000.</summary>
<summary>Two additional axes, formerly called the u-axis and v-axis, whose semantics depend on the joystick. Use the Inputdevice9Getobjectinfo method to obtain semantic information about these values.</summary>
<summary>Describes the state of a mouse device that has up to four buttons, or another device that is being accessed as if it were a mouse device. This structure is used with the Inputdevice9Getdevicestate method.</summary>
<summary>Device type that describes the object. It is a combination of the following flags describing the object type (axis, button, and so forth) and containing the object-instance number in the middle 16 bits. When requesting a data format, the instance portion must be set to DIDFT_ANYINSTANCE to indicate that any instance is permissible, or to DidftMakeinstance(n) to restrict the request to instance n. See the examples under Remarks.</summary>
<summary>Offset within the data packet where the data for the input source is stored. This value must be a multiple of 4 for DWORD size data, such as axes. It can be byte-aligned for buttons.</summary>
<summary>Unique identifier for the axis, button, or other input source. When requesting a data format, making this member NULL indicates that any type of object is permissible.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_PERIODIC.The structure describes a periodic effect.A reference to a single Diperiodic structure for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure.</summary>
<summary>Magnitude of the effect, in the range from 0 through 10,000. If an TermEnvelope is applied to this effect, the value represents the magnitude of the TermSustain. If no envelope is applied, the value represents the amplitude of the entire effect.</summary>
<summary>Offset of the effect. The range of forces generated by the effect is LOffset minus DwMagnitude to LOffset plus DwMagnitude. The value of the LOffset member is also the baseline for any envelope that is applied to the effect.</summary>
<summary>Contains type-specific information for effects that are marked as DIEFT_RAMPFORCE. The structure describes a ramp force effect.A reference to a single Dirampforce structure for an effect is passed in the lpvTypeSpecificParams member of the Dieffect structure.</summary>